﻿//-----------------------------------------------------------------------
// <copyright file="TypeDesignation.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models
{
    /// <summary>
    /// Used to extend reference classes
    /// </summary>
    public abstract class TypeDesignation
    {
        /// <summary>
        /// Gets or sets the identifier.
        /// </summary>
        /// <value>
        /// The identifier.
        /// </value>
        [BsonId]
        public ObjectId _id { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>
        /// The description.
        /// </value>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the code.
        /// </summary>
        /// <value>
        /// The code.
        /// </value>
        public string Code { get; set; }

        /// <summary>
        /// Gets or sets the definition.
        /// </summary>
        /// <value>
        /// The definition.
        /// </value>
        public string Definition { get; set; }

        /// <summary>
        /// Gets or sets the reference jurisdiction identifier.
        /// </summary>
        /// <value>
        /// Surrogate key from Organization identifying the publisher of the reference value.
        /// </value>
        public ObjectId? RefJurisdictionId { get; set; }

        public decimal? SortOrder { get; set; }
    }
}